Lorsque vous développez des applications multi lingues pour SharePoint, vous avez plusieurs alternatives pour gérer vos fichiers de ressources avec chacune leurs spécificités :
· dans le SharePointRoot\Resources, SharePointRoot\Config\Resources,
· dans le répertoire App_GlobalResources de l’application Web,
· dans le sous répertoire « Resources » des features,
· embarqués avec vos DLL etc…
Bref, pas facile de s’y retrouver, surtout pour un développeur ASP.Net qui tente de se mettre à SharePoint. Il existait plusieurs limitations entre les différentes voies possibles dont j’avais parlé dans un article que j’avais écrit il y a presque 2 ans : http://www.asp-php.net/tutorial/asp.net/sharepoint-localisation.php
Or, voilà que ce qui manquait énormément, à savoir pouvoir déployer ses fichiers de ressources directement dans le répertoire « App_GlobalResources » apparait en 2010 ! En effet, vous allez avoir la possibilité de gérer vos fichiers de ressources par élément de projet, la preuve en image sur un cas simple : une Web Part.
1. Tout d’abord, créez un projet vide avec déploiement en mode « Ferme », ici « LocalizedWebPart ».
Note : attention, le déploiement de fichiers de ressources dans le répertoire App_GlobalResources ne fonctionne pas avec les projets de type Sandbox
2. Ajoutez-y un élément de projet de type Web Part nommé ici « WebPart1 »
3. Vous pouvez maintenant y ajouter un nouvel élément de type « Global Resources File » qui n’est autre que notre fichier de ressource (« Resource1.resx »)


4. Vous pouvez ensuite choisir la culture, neutre par défaut :

5. Vous pouvez rajouter d’autres fichiers de ressources en suivant la même manipulation mais en changeant la culture (prenez soin de garder le même nom de base) :

6. Vous obtiendrez ainsi les fichiers suffixés par la culture. Sélectionnez-les pour changer le « Deployment Type » pour le passer à « AppGlobalResources » (oui, tout le secret de l’opération réside ici) :

7. Vous pouvez ensuite ajouter vos éléments localisés :

8. Dans le code de la Web Part, vous pouvez appeler les ressources en initialisant un ResourceManager puis appeler chacune des ressources :

Le nom de base correspond à resources.[Nom du fichier].
9. Déployez ! Vous retrouverez les fichiers bien rangés dans des sous-répertoires correspondant au projet et à l’élément de projet (ici la WebPart).

10. En fait, ce chemin correspond au chemin de déploiement disponible dans les propriétés du fichier. Vous pouvez l’éditer si besoin.

Voilà de quoi vous aider dans l’internationalisation de vos applications SharePoint. Evidemment, vous pourrez en tirer parti dans les Web Parts visuelles puisque vous pourrez faire appel à vos ressources directement en mode déclaratif : <asp:button runat='server" id="Button1" text="<%$ resources: Resource1, Welcome" />
A vous de jouer maintenant !
Gat, SPLocalement vôtre